﻿Imports sonicERPinfo
Imports System.Data.SqlClient
Public Class fornecedorDAL
    Dim dal As New DAL

    Public Function pesquisanomefornecedor(ByVal tabela As sonicERPinfo.Tabelainfo) As DataView
        Dim select_ As String = "SELECT  NOME FROM FORNECEDOR  WHERE NOME LIKE '%' + @NOME + '%' ORDER BY NOME ASC "
        Dim par As New ArrayList
        par.Add("@NOME")
        Dim entidade As New ArrayList
        entidade.Add(tabela.fornecedor.nomefornecedor)
        Return dal.SqlDataAdapter(select_, False, par, entidade, True)

    End Function
    Public Sub insert_update(ByVal entidade As fornercedorInfo)
        Try


            Dim select_ As String

            If entidade.id <> 0 Then
                select_ = "UPDATEFONECEDOR"
            Else
                select_ = "INSERT_UPDATE_FORNECEDOR"
            End If

            Dim enti As New ArrayList
            enti.Add(entidade.id)
            enti.Add(entidade.idusuario)
            enti.Add(entidade.nomefornecedor)
            enti.Add(entidade.tipofornecedor)
            enti.Add(entidade.email)
            enti.Add(entidade.telefone)
            enti.Add(entidade.celular)
            enti.Add(entidade.rg)
            enti.Add(entidade.cpf)
            enti.Add(entidade.Inscricao_estadual)
            enti.Add(entidade.cnpj)
            enti.Add(entidade.cep)
            enti.Add(entidade.estado)
            enti.Add(entidade.cidade)
            enti.Add(entidade.rua)
            enti.Add(entidade.numero)
            enti.Add(entidade.contato)
            enti.Add(entidade.bairro)
            Dim parameter As New ArrayList
            parameter.Add("@id")
            parameter.Add("@idusuario")
            parameter.Add("@nome")
            parameter.Add("@tipo_fornecedor")
            parameter.Add("@email")
            parameter.Add("@telefone")
            parameter.Add("@celular")
            parameter.Add("@rg")
            parameter.Add("@cpf")
            parameter.Add("@inscricao_estadual")
            parameter.Add("@cnpj")
            parameter.Add("@cep")
            parameter.Add("@estado")
            parameter.Add("@cidade")
            parameter.Add("@rua")
            parameter.Add("@numero")
            parameter.Add("@contato")
            parameter.Add("@bairro")
            dal.SQLExecuteNonQuery(select_, True, parameter, enti, True)

        Catch ex As Exception
            Throw New Exception(ex.Message)
        End Try
    End Sub

    Public Sub delete(ByVal entidade As fornercedorInfo)

        Try


            Dim select_ As String = "DELETEFORNECEDOR"
            Dim enti As New ArrayList
            enti.Add(entidade.id)
            Dim parameter As New ArrayList
            parameter.Add("@id")

            dal.SQLExecuteNonQuery(select_, True, parameter, enti, True)
        Catch ex As Exception
            Throw New Exception(ex.Message)
        End Try
    End Sub
    Public Function getfornecedor(ByVal entidade As fornercedorInfo)
        Dim select_ As String = "SELECTFORNECEDOR"

        Dim ent As New ArrayList
        ent.Add(entidade.dtinicio.Value.Date.ToString("yyyy/MM/dd HH:mm:ss"))
        ent.Add(entidade.dt_fim.Value.Date.ToString("yyyy/MM/dd HH:mm:ss"))
        ' ent.Add(entidade.dtinicio)
        'ent.Add(entidade.dt_fim)
        ent.Add(entidade.nomefornecedor)
        ent.Add(entidade.tipofornecedor)

        Dim parameter As New ArrayList
        parameter.Add("@dtinicio")
        parameter.Add("@dtfim")
        parameter.Add("@nomefornecedor")
        parameter.Add("@tipo_fornecedor")

        Return dal.SqlDataAdapter(select_, True, parameter, ent, True)
    End Function

    Public Function Pesquisar(ByVal entidade As fornercedorInfo, _
                              ByVal lista As List(Of String))

        Dim select_ As String = String.Format("SELECT  id,idusuario,LOWER (Nome) AS Nome , LOWER(Tipo_Fornecedor) AS Tipo_Fornecedor " +
   " ,LOWER(E_mail) AS E_mail ,Dt_cadastro ,Telefone,Celular,Rg,Cpf,Inscricao_estadual,Cnpj,Cep,LOWER(Estado) AS Estado " +
   " ,LOWER(Cidade) AS Cidade,LOWER(Rua) AS Rua,Numero,LOWER(contato) AS contato,LOWER(Bairro) AS Bairro " +
     " FROM FORNECEDOR WHERE id = @id")


        Dim ent As New ArrayList
        ent.Add(entidade.id)

        Dim parameter As New ArrayList
        parameter.Add("@id")




        Dim dt As DataView = dal.SqlDataAdapter(select_, False, parameter, ent, True)

        For Each li As DataRowView In dt
            For index As Integer = 0 To dt.Table.Columns.Count - 1
                lista.Add(li.Row(index).ToString)
            Next
        Next


        Return lista

    End Function
End Class
